## О проекте
Тестовое задание в рамках участия в проекте ШИФТ. Данный репозиторий включает в себя тестовое задание с соблюдением следующих требований. 

**Обязательные требования:**
- проект выполнен на фреймворке FastAPI
- реализован rest-сервис через front Jinja2
- написана данная инструкция с учетом Markdown
- проект размещён в публичном репозитории

**Необязательные требования:**
- зафиксированы зависимости через Poetry

## База данных пользователей
Создана фиктивная база данных пользователей с информацией о них в частности: Username, Password, Salary и Date внутри самой программы. В проекте не были использованы PostgreSQL и SQLAlchemy. 
- Username (email пользователя для входа)
- Password (хеш-пароль пользователя для входа)
- Salary (зарплата пользователя)
- Date (дата повышения зарплаты пользователя)

## Структура проекта
.
├── main.py
├── poetry.lock
├── pyproject.toml
└── templates
   ├── index.html
   ├── login.html
   └── private.html

## Работа с сервисом

 1. При включении локального сервера через uvicorn происходит переадресация на Home страницу, где у пользователя, если он не  осуществил вход в систему: есть предложение пройти авторизацию.
 2. На странице Login пользователь должен ввести свой email и пароль, который ДОПУСТИМ получил для входа в систему.
 3. После ввода валидных данных происходит выдача токена и сохранение его в cookie для последующей проверки, а также переадресация на Home страницу, где пользователю становится ДОСТУПЕН вход в свой личный кабинет.
 4. При переходе в личный кабинет, а также обновлении страницы Account происходит проверка токена. Если он не сгорел и активен, то пользователь может наблюдать свои данные: Зарплату и Дату повышения зарплаты. 
**Важно!**  Так как данные в аккаунте чувствительные, то токен временный и уничтожается спустя 5 минут

Тем самым осуществляем цель проекта: пользователь может видеть свои данные, которые защищены.
